home *** CD-ROM | disk | FTP | other *** search
/ The X-Philes (2nd Revision) / The X-Philes Number 1 (1995).iso / xphiles / hp48_2 / voyager7.exe / ASM.DOC < prev    next >
Text File  |  1991-02-23  |  12KB  |  631 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11.  
  12.  
  13.                  S a t u r n   I n s t r u c t i o n   S e t
  14.  
  15.                                Derek S. Nickel
  16.  
  17.                                30 January 1991
  18.     ================================================================
  19.  
  20.     0...    * misc operations (RTNs, modes, stack, status, P, logic)
  21.  
  22.     1...    * data movement/loading (D0,D1,R0-R4)
  23.  
  24.     2n    P=     n
  25.  
  26.     3xn..n    LC(m)  n..n    (x = m - 1)
  27.     3mc..c    LCASC  \A..A\    (m = 2*characters - 1)
  28.     3nh..h    LCHEX  h..h    (n = digits - 1)
  29.  
  30.     400    RTNC
  31.     4aa    GOC    label
  32.     420    NOP3
  33.  
  34.     500    RTNNC
  35.     5aa    GONC   label
  36.  
  37.     6aaa    GOTO   label
  38.     6300    NOP4
  39.     64000    NOP5
  40.  
  41.     7aaa    GOSUB  label
  42.  
  43.     8...    * misc, tests and branching
  44.  
  45.     9...    * tests w/fs
  46.  
  47.     Aax    * math and assignment w/fs
  48.     Abx    * math and assignment w/fs
  49.     Bax    * math and assignment w/fs
  50.     Bbx    * math and assignment w/fs
  51.  
  52.     Cx    * math and assignment w/A
  53.     Dx    * math and assignment w/A
  54.     Ex    * math and assignment w/A
  55.     Fx    * math and assignment w/A
  56.     ================================================================
  57.         0
  58.     ================================================================
  59.  
  60.     00    RTNSXM
  61.     01    RTN
  62.     02    RTNSC
  63.     03    RTNCC
  64.     04    SETHEX
  65.     05    SETDEC
  66.     06    RSTK=C
  67.     07    C=RSTK
  68.     08    CLRST
  69.     09    C=ST
  70.     0A    ST=C
  71.     0B    CSTEX
  72.     0C    P=P+1
  73.     0D    P=P-1
  74.     0Exx    * logic operations    
  75.     0F    RTI
  76.  
  77.     -- field ---
  78.      fs     A
  79.     ------------
  80.     0Ea0    0EF0    A=A&B  field
  81.     0Ea1    0EF1    B=B&C  field
  82.     0Ea2    0EF2    C=C&A  field
  83.     0Ea3    0EF3    D=D&C  field
  84.     0Ea4    0EF4    B=B&A  field
  85.     0Ea5    0EF5    C=C&B  field
  86.     0Ea6    0EF6    A=A&C  field
  87.     0Ea7    0EF7    C=C&D  field
  88.  
  89.     0Ea8    0EF8    A=A!B  field
  90.     0Ea9    0EF9    B=B!C  field
  91.     0EaA    0EFA    C=C!A  field
  92.     0EaB    0EFB    D=D!C  field
  93.     0EaC    0EFC    B=B!A  field
  94.     0EaD    0EFD    C=C!B  field
  95.     0EaE    0EFE    A=A!C  field
  96.     0EaF    0EFF    C=C!D  field
  97.  
  98.     fs: P  WP XS X  S  M  B  W
  99.     a:  0  1  2  3  4  5  6  7
  100.     ================================================================
  101.         10, 11, 12
  102.     ================================================================
  103.  
  104.     100    R0=A
  105.     101    R1=A
  106.     102    R2=A
  107.     103    R3=A
  108.     104    R4=A
  109.     105    
  110.     106    
  111.     107    
  112.     108    R0=C
  113.     109    R1=C
  114.     10A    R2=C
  115.     10B    R3=C
  116.     10C    R4=C
  117.     10D    
  118.     10E    
  119.     10F    
  120.  
  121.     110    A=R0
  122.     111    A=R1
  123.     112    A=R2
  124.     113    A=R3
  125.     114    A=R4
  126.     115    
  127.     116    
  128.     117    
  129.     118    C=R0
  130.     119    C=R1
  131.     11A    C=R2
  132.     11B    C=R3
  133.     11C    C=R4
  134.     11D    
  135.     11E    
  136.     11F    
  137.  
  138.     120    AR0EX
  139.     121    AR1EX
  140.     122    AR2EX
  141.     123    AR3EX
  142.     124    AR4EX
  143.     125    
  144.     126    
  145.     127    
  146.     128    CR0EX
  147.     129    CR1EX
  148.     12A    CR2EX
  149.     12B    CR3EX
  150.     12C    CR4EX
  151.     12D    
  152.     12E    
  153.     12F    
  154.     ================================================================
  155.         13 through 1F
  156.     ================================================================
  157.  
  158.     130    D0=A
  159.     131    D1=A
  160.     132    AD0EX
  161.     133    AD1EX
  162.  
  163.     134    D0=C
  164.     135    D1=C
  165.     136    CD0EX
  166.     137    CD1EX
  167.  
  168.     138    D0=AS
  169.     139    D1=AS
  170.     13A    AD0XS
  171.     13B    AD1XS
  172.  
  173.     13C    D0=CS
  174.     13D    D1=CS
  175.     13E    CD0XS
  176.     13F    CD1XS
  177.  
  178.     ---------- field -----------
  179.      A     B     fs     d
  180.     ----------------------------    
  181.     140    148    150a    158x    DAT0=A field
  182.     141    149    151a    159x    DAT1=A field
  183.     142    14A    152a    15Ax    A=DAT0 field
  184.     143    14B    153a    15Bx    A=DAT1 field
  185.     144    14C    154a    15Cx    DAT0=C field
  186.     145    14D    155a    15Dx    DAT1=C field
  187.     146    14E    156a    15Ex    C=DAT0 field
  188.     147    14F    157a    15Fx    C=DAT1 field
  189.  
  190.     16x    D0=D0+ n
  191.     17x    D1=D1+ n
  192.     18x    D0=D0- n
  193.     19nn    D0=(2) nn
  194.     19hh    D0=HEX hh
  195.     1Annnn    D0=(4) nnnn
  196.     1Ahhhh    D0=HEX hhhh
  197.     1Bnnnnn    D0=(5) nnnnn
  198.     1Bhhhhh    D0=HEX hhhhh
  199.     1Cx    D1=D1- n
  200.     1Dnn    D1=(2) nn
  201.     1Dhh    D1=HEX hh
  202.     1Ennnn    D1=(4) nnnn
  203.     1Ehhhh    D1=HEX hhhh
  204.     1Fnnnnn    D1=(5) nnnnn
  205.     1Fhhhhh    D1=HEX hhhhh
  206.  
  207.     fs: P  WP XS X  S  M  B  W
  208.     a:  0  1  2  3  4  5  6  7
  209.  
  210.     x = d - 1        x = n - 1
  211.     d = x + 1        n = x + 1
  212.     ================================================================
  213.         80
  214.     ================================================================
  215.  
  216.     800    OUT=CS
  217.     801    OUT=C
  218.     802    A=IN
  219.     803    C=IN
  220.     804    UNCNFG
  221.     805    CONFIG
  222.     806    C=ID
  223.     807    SHUTDN
  224.  
  225.     8080    INTON
  226.     80810    RSI
  227.     8082xn..n    LA(m)  n..n    (x = m - 1)
  228.     8082mc..c    LAASC  \A..A\    (m = 2*characters - 1)
  229.     8082nh..h    LAHEX  h..h    (n = digits - 1)
  230.     8083    BUSCB
  231.     8084n    ABIT=0  d
  232.     8085n    ABIT=1  d
  233.     8086nyy    ?ABIT=0 d
  234.     8087nyy    ?ABIT=1 d
  235.     8088n    CBIT=0  d
  236.     8089n    CBIT=1  d
  237.     808Anyy    ?CBIT=0 d
  238.     808Bnyy    ?CBIT=1 d
  239.     808C    PC=(A)
  240.     808D    BUSCD
  241.     808E    PC=(C)
  242.     808F    INTOFF    
  243.  
  244.     809    C+P+1
  245.     80A    RESET
  246.     80B    BUSCC
  247.     80Cn    C=P    n
  248.     80Dn    P=C    n
  249.     80E    SREQ?
  250.     80Fn    CPEX   n
  251.     ================================================================
  252.         81
  253.     ================================================================
  254.  
  255.     810    ASLC
  256.     811    BSLC
  257.     812    CSLC
  258.     813    DSLC
  259.     814    ASRC
  260.     815    BSRC
  261.     816    CSRC
  262.     817    DSRC
  263.     818    
  264.     819    
  265.     81A
  266.     81B    
  267.     81C    ASRB
  268.     81D    BSRB
  269.     81E    CSRB
  270.     81F    DSRB
  271.  
  272.     -- field ---
  273.      fs     A
  274.     ------------
  275.     818a0n        A=A+n    field
  276.     818a1n        B=B+n    field
  277.     818a2n        C=C+n    field
  278.     818a3n        D=D+n    field
  279.  
  280.     818b0n        A=A-n    field
  281.     818b1n        B=B-n    field
  282.     818b2n        C=C-n    field
  283.     818b3n        D=D-n    field
  284.  
  285.     fs: P  WP XS X  S  M  B  W
  286.     a:  0  1  2  3  4  5  6  7
  287.     b:  8  9  A  B  C  D  E  F
  288.     ================================================================
  289.         82 through 8F, 9
  290.     ================================================================
  291.  
  292.     82n    no opcode, clear hardware status w/n as bit mask
  293.     821    XM=0
  294.     822    SB=0
  295.     824    SR=0
  296.     828    MP=0
  297.     82F    CLRHST
  298.  
  299.     831yy    ?XM=0
  300.     832yy    ?SB=0
  301.     834yy    ?SR=0
  302.     838yy    ?MP=0
  303.  
  304.     84n    ST=0   n
  305.     85n    ST=1   n
  306.     86nyy    ?ST=0  n    ?ST#1  n
  307.     87nyy    ?ST=1  n    ?ST#0  n
  308.     88nyy    ?P#    n
  309.     89nyy    ?P=    n
  310.     8Axyy    * tests w/A (equal and not equal)
  311.     8Bxyy    * tests w/A (inequality)
  312.     8Caaaa    GOLONG label
  313.     8Daaaaa    GOVLNG label
  314.     8Eaaaa    GOSUBL label
  315.     8Faaaaa    GOSBVL label
  316.     9zxyy    * tests w/fs
  317.  
  318.     test00    RTNYES
  319.     testyy    GOYES  label
  320.  
  321.     Relative gotos (GOTO, GOLONG, GOC, GONC, GOYES):
  322.     Offset is relative to the first nibble of the offset.
  323.  
  324.     Relative gosubs (GOSUBm GOSUBL):
  325.     Offset is relative to the first nibble of the next instruction.
  326.     ================================================================
  327.         8A, 8B, 9
  328.     ================================================================
  329.  
  330.     --- field ----
  331.       A      fs
  332.     --------------
  333.     8A0yy    9a0yy    ?A=B   field        ?B=A   field
  334.     8A1yy    9a1yy    ?B=C   field        ?C=B   field
  335.     8A2yy    9a2yy    ?A=C   field        ?C=A   field
  336.     8A3yy    9a3yy    ?C=D   field        ?D=C   field
  337.     8A4yy    9a4yy    ?A#B   field        ?B#A   field
  338.     8A5yy    9a5yy    ?B#C   field        ?C#B   field
  339.     8A6yy    9a6yy    ?A#C   field        ?C#A   field
  340.     8A7yy    9a7yy    ?C#D   field        ?D#C   field
  341.     8A8yy    9a8yy    ?A=0   field
  342.     8A9yy    9a9yy    ?B=0   field
  343.     8AAyy    9aAyy    ?C=0   field
  344.     8AByy    9aByy    ?D=0   field
  345.     8ACyy    9aCyy    ?A#0   field
  346.     8ADyy    9aDyy    ?B#0   field
  347.     8AEyy    9aEyy    ?C#0   field
  348.     8AFyy    9aFyy    ?D#0   field
  349.  
  350.     8B0yy    9b0yy    ?A>B   field
  351.     8B1yy    9b1yy    ?B>C   field
  352.     8B2yy    9b2yy    ?C>A   field
  353.     8B3yy    9b3yy    ?D>C   field
  354.     8B4yy    9b4yy    ?A<B   field
  355.     8B5yy    9b5yy    ?B<C   field
  356.     8B6yy    9b6yy    ?C<A   field
  357.     8B7yy    9b7yy    ?D<C   field
  358.     8B8yy    9b8yy    ?A>=B  field
  359.     8B9yy    9b9yy    ?B>=C  field
  360.     8BAyy    9bAyy    ?C>=A  field
  361.     8BByy    9bByy    ?D>=C  field
  362.     8BCyy    9bCyy    ?A<=B  field
  363.     8BDyy    9bDyy    ?B<=C  field
  364.     8BEyy    9bEyy    ?C<=A  field
  365.     8BFyy    9bFyy    ?D<=C  field
  366.  
  367.     fs: P  WP XS X  S  M  B  W
  368.     a:  0  1  2  3  4  5  6  7
  369.     b:  8  9  A  B  C  D  E  F
  370.     ================================================================
  371.         A, C, D
  372.     ================================================================
  373.  
  374.     -- field --
  375.     A    fs
  376.     -----------
  377.     C0    Aa0    A=A+B  field
  378.     C1    Aa1    B=B+C  field
  379.     C2    Aa2    C=C+A  field
  380.     C3    Aa3    D=D+C  field
  381.     C4    Aa4    A=A+A  field
  382.     C5    Aa5    B=B+B  field
  383.     C6    Aa6    C=C+C  field
  384.     C7    Aa7    D=D+D  field
  385.     C8    Aa8    B=B+A  field
  386.     C9    Aa9    C=C+B  field
  387.     CA    AaA    A=A+C  field
  388.     CB    AaB    C=C+D  field
  389.     CC    AaC    A=A-1  field
  390.     CD    AaD    B=B-1  field
  391.     CE    AaE    C=C-1  field
  392.     CF    AaF    D=D-1  field
  393.  
  394.     D0    Ab0    A=0    field
  395.     D1    Ab1    B=0    field
  396.     D2    Ab2    C=0    field
  397.     D3    Ab3    D=0    field
  398.     D4    Ab4    A=B    field
  399.     D5    Ab5    B=C    field
  400.     D6    Ab6    C=A    field
  401.     D7    Ab7    D=C    field
  402.     D8    Ab8    B=A    field
  403.     D9    Ab9    C=B    field
  404.     DA    AbA    A=C    field
  405.     DB    AbB    C=D    field
  406.     DC    AbC    ABEX   field
  407.     DD    AbD    BCEX   field
  408.     DE    AbE    ACEX   field
  409.     DF    AbF    CDEX   field
  410.  
  411.     fs: P  WP XS X  S  M  B  W
  412.     a:  0  1  2  3  4  5  6  7
  413.     a:  8  9  A  B  C  D  E  F
  414.     ================================================================
  415.         B, E, F
  416.     ================================================================
  417.  
  418.     -- field ---
  419.     A    fs
  420.     ------------
  421.     E0    Ba0    A=A+B  field
  422.     E1    Ba1    B=B+C  field
  423.     E2    Ba2    C=C+A  field
  424.     E3    Ba3    D=D+C  field
  425.     E4    Ba4    A=A+1  field
  426.     E5    Ba5    B=B+1  field
  427.     E6    Ba6    C=C+1  field
  428.     E7    Ba7    D=D+1  field
  429.     E8    Ba8    B=B-A  field
  430.     E9    Ba9    C=C-B  field
  431.     EA    BaA    A=A-C  field
  432.     EB    BaB    C=C-D  field
  433.     EC    BaC    A=B-A  field
  434.     ED    BaD    B=C-B  field
  435.     EE    BaE    C=A-C  field
  436.     EF    BaF    D=C-D  field
  437.     
  438.     F0    Bb0    ASL    field
  439.     F1    Bb1    BSL    field
  440.     F2    Bb2    CSL    field
  441.     F3    Bb3    DSL    field
  442.     F4    Bb4    ASR    field
  443.     F5    Bb5    BSR    field
  444.     F6    Bb6    CSR    field
  445.     F7    Bb7    DSR    field
  446.     F8    Bb8    A=-A   field
  447.     F9    Bb9    B=-B   field
  448.     FA    BbA    C=-C   field
  449.     FB    BbB    D=-D   field
  450.     FC    BbC    A=-A-1 field
  451.     FD    BbD    B=-B-1 field
  452.     FE    BbE    C=-C-1 field
  453.     FF    BbF    D=-D-1 field
  454.  
  455.     fs: P  WP XS X  S  M  B  W
  456.     a:  0  1  2  3  4  5  6  7
  457.     b:  8  9  A  B  C  D  E  F
  458.     ================================================================
  459.         Data Storage Allocation
  460.     ================================================================
  461.  
  462.     00..0    BSS    expr
  463.     nn..n    CON(m) expr
  464.     nn..n    REL(m) expr
  465.     zy..a    NIBASC 'chars'
  466.     zy..a    NIBASC \chars\
  467.     hh..h    NIBHEX h..hh
  468.     ================================================================
  469.         New Instructions
  470.     ================================================================
  471.  
  472.     818f0m    A=A+CON rfs,d
  473.     818f1m    B=B+CON rfs,d
  474.     818f2m    C=C+CON rfs,d
  475.     818f3m    D=D+CON rfs,d
  476.  
  477.     818f8m    A=A-CON rfs,d
  478.     818f9m    B=B-CON rfs,d
  479.     818fAm    C=C-CON rfs,d
  480.     818fBm    D=D-CON rfs,d
  481.  
  482.     819f0    ASRB.F  fs
  483.     819f1    BSRB.F  fs
  484.     819f2    CSRB.F  fs
  485.     819f3    DSRB.F  fs
  486.  
  487.     81Af00    R0=A.F  fs
  488.     81Af01    R1=A.F  fs
  489.     81Af02    R2=A.F  fs
  490.     81Af03    R3=A.F  fs
  491.     81Af04    R4=A.F  fs
  492.  
  493.     81Af08    R0=C.F  fs
  494.     81Af09    R1=C.F  fs
  495.     81Af0A    R2=C.F  fs
  496.     81Af0B    R3=C.F  fs
  497.     81Af0C    R4=C.F  fs
  498.  
  499.     81Af10    A=R0.F  fs
  500.     81Af11    A=R1.F  fs
  501.     81Af12    A=R2.F  fs
  502.     81Af13    A=R3.F  fs
  503.     81Af14    A=R4.F  fs
  504.  
  505.     81Af18    C=R0.F  fs
  506.     81Af19    C=R1.F  fs
  507.     81Af1A    C=R2.F  fs
  508.     81Af1B    C=R3.F  fs
  509.     81Af1C    C=R4.F  fs
  510.  
  511.     81Af20    AR0EX.F fs
  512.     81Af21    AR1EX.F fs
  513.     81Af22    AR2EX.F fs
  514.     81Af23    AR3EX.F fs
  515.     81Af24    AR4EX.F fs
  516.  
  517.     81Af28    CR0EX.F fs
  518.     81Af29    CR1EX.F fs
  519.     81Af2A    CR2EX.F fs
  520.     81Af2B    CR3EX.F fs
  521.     81Af2C    CR4EX.F fs
  522.  
  523.     81B2    PC=A
  524.     81B3    PC=C
  525.     81B4    A=PC
  526.     81B5    C=PC
  527.     81B6    APCEX
  528.     81B7    CPCEX
  529.     ================================================================
  530.         Saturn Registers
  531.     ================================================================
  532.  
  533.     +--------------------------------+
  534.     |                                |  A (current object pointer)
  535.     +--------------------------------+
  536.     |                                |  B (RPL return stack pointer)
  537.     +--------------------------------+
  538.     |                                |  C (general purpose)
  539.     +--------------------------------+
  540.     |                                |  D (stack space remaining)
  541.     +--------------------------------+
  542.  
  543.                   +----------+
  544.                   |          |  D0 (execution stack pointer)
  545.                   +----------+
  546.                   |          |  D1 (data stack pointer)
  547.                   +----------+
  548.  
  549.                       +--+
  550.                       |  |  P
  551.                       +--+
  552.  
  553.                   +----------+
  554.                   |          |  PC (program counter)
  555.                   +----------+
  556.  
  557.     +--------------------------------+
  558.     |                                |  R0
  559.     +--------------------------------+
  560.     |                                |  R1
  561.     +--------------------------------+
  562.     |                                |  R2
  563.     +--------------------------------+
  564.     |                                |  R3
  565.     +--------------------------------+
  566.     |                                |  R4
  567.     +--------------------------------+
  568.  
  569.                 +--------+
  570.                 |        |  IN (16 bits)
  571.                 +--------+
  572.                   |      |  OUT (12 bits)
  573.                   +------+
  574.  
  575.                        +-+
  576.                        | |  Carry (1 bit)
  577.                        +-+
  578.  
  579.                 +--------+
  580.                 | F .. 0 |  ST (16 bits)
  581.                 +--------+
  582.  
  583.                +-------------+
  584.                | MP SB SR XM |  HST (4 bits)
  585.                +-------------+
  586.     ================================================================
  587.         Work Sheet
  588.     ================================================================
  589.  
  590.     A:    a
  591.  
  592.     B:    b
  593.  
  594.     C:    c
  595.  
  596.     D:    d
  597.  
  598.    D0:    d0
  599.  
  600.    D1:    d1
  601.  
  602.  RSTK: 
  603.  
  604.    R0:    r0
  605.  
  606.    R1:    r1
  607.  
  608.    R2:    r2
  609.  
  610.    R3:    r3
  611.  
  612.    R4:    r4
  613.  
  614.  
  615.    d1:    s1
  616.  
  617.  d1+5:    s2
  618.  
  619. d1+10:    s3
  620.  
  621. d1+15:    s4
  622.  
  623.  
  624.    s1:    
  625.  
  626.    s2:    
  627.  
  628.    s3:    
  629.  
  630.    s4:    
  631.